-
Notifications
You must be signed in to change notification settings - Fork 1
[feature] Multi-repo workflow #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
… will execute only when requested by some job Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
…w does not work when included via `remote` keyword :-( Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
| MODULES_MODULE_TAG: pr${CI_MERGE_REQUEST_IID} | ||
| rules: | ||
| # do not run if some required variables is empty | ||
| - if: '$DEV_MODULES_REGISTRY == null || $DEV_MODULES_REGISTRY == "" || $DEV_MODULES_REGISTRY_PATH == null || $DEV_MODULES_REGISTRY_PATH == ""' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
only, when and rules don't work well together. If we implement rules, then it's better to get rid of when without rules in the job and only in these jobs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In multi-repo templates (templates/multi-repo/*.yml) I use rules everywhere. Do you mean get rid of only in simple templates (templates/*.yml)?
|
|
||
| .setup: | ||
| before_script: | ||
| # Setup trdl |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#in gitlab-ci it is better to use docker-executor, separately prepare the image and call it. this will reduce the busy time of runners, add isolation between jobs, reduce the number of used dependencies (possible points of failure) and increase security. but perhaps they will not agree with me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree about a separate image for docker/kubernetes-executor.
But minor/patch versions of Werf/DMT come out quite often and maintaining a separate CI-image can be "more expensive" in terms of time than installing current versions of tools every time pipeline is launched. 😇
I can also be wrong with my conclusions. 😅
…eady merged into `main` Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
… by 10) runs before `build` stage Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
…kout submodules Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
…eploy jobs * add $DEBUG_CI_DRY_RUN variable for dry run production-related jobs Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
…istry variables (MODULES_REGISTRY_*) Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
…istry variables (MODULES_REGISTRY_*) Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
* * add sign images code from `feat/signing_images` branch Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com> * * bump WERF_SIGN_VERSION Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com> * * try download werf from fox with CI_JOB_TOKEN Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com> * * try download werf from fox with CI_JOB_TOKEN Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com> * * try download werf from fox with WERF_SIGN_PACKAGE_TOKEN Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com> * * fix werf install Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com> * * debug Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com> * * remove debug statements Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com> * * disable ELF files signing Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com> * * require WERF_VAULT_AUTH_ROLE_ID or WERF_VAULT_AUTH_JWT Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com> * * require WERF_VAULT_AUTH_ROLE_ID or WERF_VAULT_AUTH_JWT Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com> * * add some emojis Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com> * * do not enable images signing (comment WERF_SIGN_VERSION var) by default Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com> --------- Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
Signed-off-by: Ivan.Makeev <ivan.makeev@flant.com>
multi-repoCI workflow differs frombasicCI (which intemplates) in the following key aspects:multi-repoworkflow we can push todevandprodregistries separately with their own rules (seejobs/multi-repoand/orexamples/multi-repo-module.gitlab-ci.ymlfor example jobs).buildstage) are stored in Gitlab's module's registry by default. And only final images are pushed to the dev/prod registries. So, even in dev-registry there should be no "build-time garbage" and/or some "extra" images/layers for each module.